首先我們介紹一下這個APP的功能。
這個APP主要會有的功能如下:
一樣我們先開一個新專案,這邊提醒一下,因為我前面有專案是使用中文的,主要是方便懶得想英文,因為基本都沒什麼問題,但在實作開發建議你使用英文,避免有編碼上的錯誤。
首先我們建立新的主頁,這一頁我們將導航到兩個頁面。
所以概念我們清楚了,但這邊我又發現了一個嚴重的問題。
我們之前傳值是a傳b,然後我要從a View跳b View。
但是這樣很明顯不是我們需要的方法。
所以我們可以在其中一個地方去建立一個class。而這個class裡面就會包含我的變數、Array等等。
以下是寫法,我們必須它寫在結構外面
class UserInput: ObservableObject {
@Published var sum = [1]
}
我們要使用@Published 去宣告。
接著,我們如果要調用該物件時
必須在結構裡面這樣寫:
@StateObject var input = UserInput()
這邊意思是說 我調用了UserInput這個class,並且將UserInput在結構中改成input。
所以說如果我今天要顯示出sum這個Array中的第0個元素應該如何做呢?
input.sum[0]
意思指的就是input中的sum的0位元素。
這樣一來我們就可以完整的使用Passing data在整個專案中了。但如果你只是要傳給下一個View,那直接用@Binding也是可以的。